package com.sinosoft.lk.core.config;

import com.sinosoft.lk.core.client.SsoLoginSuccessCallBack;
import com.sinosoft.lk.core.helper.JedisHelper;
import java.util.Set;
import redis.clients.jedis.JedisPoolConfig;

import java.util.List;

/**
 * @Author 绫小路
 * @Date 2021/3/4
 */
public class SsoClientFilterConfig {
  private String ssoSessionIdName;
  private String clientName;
  private String ssoServer;
  private Set<String> excludedPaths;
  private String loginPath;
  private boolean isJson;
  private JedisPoolConfig jedisPoolConfig;
  private int jedisConnectionTimeout;
  private String jedisAddress;
  private SsoLoginSuccessCallBack ssoLoginSuccessCallBack;

  public String getSsoSessionIdName() {
    return ssoSessionIdName;
  }

  public void setSsoSessionIdName(String ssoSessionIdName) {
    this.ssoSessionIdName = ssoSessionIdName;
  }

  public String getClientName() {
    return clientName;
  }

  public void setClientName(String clientName) {
    this.clientName = clientName;
  }

  public SsoLoginSuccessCallBack getSsoLoginSuccessCallBack() {
    return ssoLoginSuccessCallBack;
  }

  public void setSsoLoginSuccessCallBack(SsoLoginSuccessCallBack ssoLoginSuccessCallBack) {
    this.ssoLoginSuccessCallBack = ssoLoginSuccessCallBack;
  }

  public String getSsoServer() {
    return ssoServer;
  }

  public void setSsoServer(String ssoServer) {
    this.ssoServer = ssoServer;
  }

  public Set<String> getExcludedPaths() {
    return excludedPaths;
  }

  public void setExcludedPaths(Set<String> excludedPaths) {
    this.excludedPaths = excludedPaths;
  }

  public String getLoginPath() {
    return loginPath;
  }

  public void setLoginPath(String loginPath) {
    this.loginPath = loginPath;
  }

  public boolean isJson() {
    return isJson;
  }

  public void setJson(boolean json) {
    isJson = json;
  }

  public JedisPoolConfig getJedisPoolConfig() {
    return jedisPoolConfig;
  }

  public void setJedisPoolConfig(JedisPoolConfig jedisPoolConfig) {
    this.jedisPoolConfig = jedisPoolConfig;
  }

  public int getJedisConnectionTimeout() {
    return jedisConnectionTimeout;
  }

  /**
   * @param jedisConnectionTimeout millisecond 毫秒
   */
  public void setJedisConnectionTimeout(int jedisConnectionTimeout) {
    this.jedisConnectionTimeout = jedisConnectionTimeout;
  }

  public String getJedisAddress() {
    return jedisAddress;
  }

  /**
   * see {@link JedisHelper} the address
   * @param jedisAddress
   */
  public void setJedisAddress(String jedisAddress) {
    this.jedisAddress = jedisAddress;
  }
}
